package com.etc.dao;

import java.util.List;
import java.util.Map;

import com.etc.entity.Singger;

public interface SinggerDao {
	/**
	 * 根据用户id获取用户收藏歌手
	 * @return
	 */
	List<Singger> findByUserId(Integer userId);
	/**
	 * 获取收藏歌手总数
	 * @param userId
	 * @return
	 */
	int countByUserId(Integer userId);
	
	/**
	 * 搜索全部歌手记录
	 * @return
	 */
	List<Singger> findAll();
	/**
	 * 根据组合条件查询歌手分页结果
	 * @param initials    首字母
	 * @param regionName  地区
	 * @param gender      性别
	 * @param styleName   风格
	 * @return
	 */
	List<Singger> findByCondition(String initials,String regionName,String gender,String styleNameint,int pageNum,int pageSize);
	/**
	 * 根据不同条件查询歌手的总记录数
	 * @param initials
	 * @param regionName
	 * @param gender
	 * @param styleNameint
	 * @return
	 */
	int countByCondition(String initials,String regionName,String gender,String styleNameint);
	
	// ============================================ admin 操作 Dao ======================================
	
	/**
	 * 添加歌手
	 * @return
	 */
	int addSinger(Singger singger);
	
	/**
	 * 修改歌手信息
	 * @param singger
	 * @return
	 */
	int modifySingerInfo(Singger singger);
	
	/**
	 * 根据歌手ID删除歌手
	 * @return
	 */
	int deleteSingerById(Integer singgerId);
	
	/**
	 * 根据歌手编号查询歌手信息
	 * @param singgerId
	 * @return
	 */
	Singger findSingerInfoById(Integer singgerId);
	
	/**
	 * 根据歌手名进行模糊查询
	 * @param singgerName
	 * @return
	 */
	List<Singger> findSingerInfoBySingerName(String singgerName, int pageNum,int pageSize);
	
	int countBySingerName(String singgerName);
	
	/**
	 * 根据歌手名进行精确查找
	 * @return
	 */
	Singger finSinggerBySingerName(String singgerName);
	
}
